home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PPESCR17.ZIP
/
PPE-SCR.DOC
< prev
next >
Wrap
Text File
|
1994-11-01
|
41KB
|
998 lines
; *****************************************************************
; * *
; * PPE-Script V 1.70 (11-01-94) *
; * *
; * Written in PPL 3.0 for PCBoard 15.2 *
; * *
; * Designed By: Gary Meeker *
; * *
; * Began development: 06-23-93 *
; * *
; *****************************************************************
PPE-Script is a control file driven PPE for use a LOGON/LOGOFF/NEWASK script
or for any of the Script Questionnaires. It could also be attached as a
command or possibly any other place you can use a .PPE file. (let us know if
you come up with a different useful place to run it from.)
When used as a LOGON/LOGOFF/NEWASK questionnaire, you should copy PPE-SCR.PPE
to LOGON.PPE/LOGOFF.PPE/NEWASK.PPE as it is not possible to have a command
line argument to specify the Configuration file to be used. When no command
line argument is present then the path\name of the .PPE is used with .CNF
as the file extension. A Configuration file is mandatory and you must have
one for each script you want to run (but not sub-scripts). Below is an
example of the program used as the New Reg Quest. having been renamed to
NEWASK.PPE and NEWASK.CNF resides in the same directory as the PPE.
File Locations
NewUser/Logon/Logoff Questionnaires
Name/Loc of New Reg Questionnaire : C:\PCB\PPE\NEWASK.PPE
Name/Loc of Answers to New Reg. : C:\PCB\MAIN\NEWREG
Name/Loc of Logon Script Quest. : C:\PCB\PPE\LOGON
Name/Loc of Logon Script Answers :
Name/Loc of Logoff Script Quest. : C:\PCB\PPE\LOGOFF
Name/Loc of Logoff Script Answers :
NOTE: You must also set the following to YES or it will not work!:
Configuration Options
System Control
Use NEWASK+Standard Questions : Y
Config File Format
------------------
There are 16 lines in the configuration file (see example file).
1: Sysop Name
This is the information shown as registration name.
2: Board Name
This is the information shown as registration board and should be entered
the same as it appears on line 94 of your PCBOARD.DAT file.
3: Registration Number (or blank)
If registered, place your number here to remove the delay on
unregistered versions.
4: Welcome Screen to be displayed (Filename)
The Drive:\Path\FileName of the file to be displayed prior to the User
being asked if they wish to answer the script.
5: Max Attempts; Min Sec Level; Max Sec Level; Refused Level ;Exp Level;
Exp Days; Adjustment to Total Files; Adjustment to Total Bytes;
Adjustment to Daily Download Bytes; Adjustment to Time for Today;
Conference List;Expired Conference List
This line contains 12 parts:
Max Attempts: The number of times the user will be allowed to fail to
answer a question. If left blank the default will be 3.
Min Sec level, Max Sec Level: If the Users level is outside this range
they will be shown the text on line 8 and the script will be halted.
Refused Level: This is the level given to the User if they choose not
to answer the script. Leave blank if you do not wish to change the level.
Exp Level: This is the exp level given to the User if they choose not
to answer the script. Leave blank if you do not wish to change the level.
Exp Days: This is the number of days till expiration given to the User
if they choose not to answer the script. Leave blank if you do not wish
to change the level.
Adjustment to Total Files: This is an adjustment to the Total files
the User has downloaded if they choose not to answer the script and
may be a negative value. If set to 'X' the value will be zeroed.
Adjustment to Total Bytes: This is an adjustment to the Total bytes
the User has downloaded if they choose not to answer the script and
may be a negative value. If set to 'X' the value will be zeroed.
Adjustment to Daily Download Bytes: This is an adjustment to the number
of bytes the user has download today if they choose not to answer the
script and may be a negative value. If set to 'X' the value will be zeroed.
Adjustment to Time for Today: This is an adjustment to Today's time limit
if they choose not to answer the script and may be a negative value.
Conference List: This is a list of conferences to register the User in
and may include ranges. (ie. 1-10,15,17,20-39)
Expired Conference List: This is a list of conferences to register the
User in when they expire and may include ranges. (ie. 1-10,15,17,20-39)
6: Age Source; Sex Source; Position; SexAnswers
This line contains 4 parts:
Age/Sex Source: 0 = None (Have to ask Question to get it)
1 = User Comment Field
2 = Sysop Comment Field
3 = Verify PSA Field
4 = Notes 1 PSA Field
5 = Notes 2 PSA Field
6 = Notes 3 PSA Field
7 = Notes 4 PSA Field
8 = Notes 5 PSA Field
9 = Addr 1 PSA Field
10 = Addr 2 PSA Field
11 = Addr 3 PSA Field
12 = Addr 4 PSA Field
13 = Addr 5 PSA Field
14 = Addr 5 PSA Field
Position: Character within string at which Sex is stored
(The Date of Birth must be at position 1 to obtain
the age, so no position is needed.)
SexAnswers: The Answers allowed for Sex, if left blank the default
of 'MF' is used. This allows for multi-language support.
7: Log changes to CALLERS file; Write Questions to Answer file; Write "Q: "
& "A: " to Answer File; Write Skipped questions to the Answer file;
Question Color; Answer Color; Jump Backwards
This line contains 7 parts:
Log changes to CALLERS file: 1 for Yes, 0 for No. If set to YES then
changes to Security Level or Conference Registrations will be
logged to the CALLERx file.
Write Questions to Answer file: 1 for Yes, 0 for No. If set to YES the
questions will be written to the Answer file.
Write "Q: " & "A: " to Answer File: 1 for Yes, 0 for No. If set to YES
the questions and answers will be preceded by this text.
Write Skipped questions to the Answer file: 1 for Yes, 0 for No. If set
to YES then Questions (if Write Questions to Answer file is Yes) and
an answer of '[N/A]' will be written to the Answer file to maintain
a consistent length for every questionnaire (especially useful if
not writing the questions to the file).
Question Color: The Color to use for the questions. If left blank the
default color will be used. The value may be given in decimal
or or using PCBoards #Xnn codes.
Answer Color: The Color to use for the answers. If left blank the
default color will be used. The value may be given in decimal
or or using PCBoards #Xnn codes.
Jump Backwards: 1 for Yes, 0 for No. If set to Yes then the search for
labels will begin at the start of the file allowing jumping backwards,
otherwise the search will start at the next line (allowing the same
label name to be reused if you want).
8: Use 'Min='; Use '==--' display; Issue NewLine; 'Min=' Color;
'=' Guide Color; '-' Guide Color
This line contains 6 parts:
Use 'Min=': 1 for Yes, 0 for No. If set to YES the minimum size will
be displayed to the user.
Use '==--' display: 1 for Yes, 0 for No. If set to YES the guide will
be displayed showing minimum size as '=' and '-' as field length.
Issue NewLine: 1 for Yes, 0 for No. If set to YES then a NEWLINE will
be issued after each question (an extra blank line like PCBoard).
'Min=' Color: The Color to use for the 'Min=' text. If left blank the
default color will be used.
'=' Guide Color: The Color to use for the '=' guide. If left blank the
'-' Guide Color: The Color to use for the '-' guide. If left blank the
default color will be used.
9: Text to display if not allowed to answer Script due to security level
(%Filename allowed)
If the security range of the User is outside the range defined in line
4, then this text will be displayed. You may use PCBoard's %filespec to
display a file here.
10: Prompt to ask for continuing
This is the prompt to display to the User asking if they want to answer
the script. If left blank, they will be forced to answer the script.
11: Text to display after completing Script (%Filename allowed)
This text will be displayed to the User after completing the script.
You may use PCBoard's %filespec to display a file here.
12: Path for Script Files
This is the Drive:\Path\ spec for the location of the Script files.
If left blank then the path of the PPE will be used.
13: Beginning Script File
This is the FILENAME.EXT of the starting script. (no path)
14: Answer file (if not installed as NEWASK/LOGON/LOGOFF or a Script)
This is the FILENAME.EXT of the answer file. If this is used
as a NEWASK/LOGON/LOGOFF or a Script then this line should be blank
and the default file will be used as setup under PCBSETUP.
15: Message file
This is the FILENAME.EXT of the message file. If this is not blank
then the file will be opened and the Questions and Answers will be
written to this file as well as the normal answer file to allow sending
the file as a message to the Sysop. The file will be deleted at the
end of the script.
16: Caller ID Information
Search;Private;Outside;CallerIDLogFile;HexFormat
This line contains 4 parts:
1) Search Text:
This is the text to search for in order to find the phone number
Supra: "NMBR = "
ZyXEL: "NUMBER: "
You may also directly place the numeric value of the position of
the number in this field.
Note: do not include the quotes ("). They are shown only for
clarity. To include a space at the end of the search string
as shown, use ALT-255 in place of a space.
2) Private
Private is the character that indicates a Private Number.
usually P (will default to P if left blank)
3) Outside
Outside is the character that indicates a Long Distance Number.
usually O (will default to O if left blank)
4) Caller ID Log File
This is the FILENAME.EXT of the Caller ID Log file. If this is not
blank it will be used to append the Caller ID data when using the
Caller ID Test command.
5) HexFormat
HexFormat is a flag to indicate the phone number is in Hex and
needs to be converted (such as in Canada)
Script.Dat Format
-----------------
The SCRIPT.DAT control file is the key to the operation of PPE-Script and
contains as many lines as you desire. There are 20 basic types of lines in
the format as described below. The first character of the line defines the
type of line. The first 19 types are single line entries. If the User is to
be given a new level after answering the script then you must use at least
on of the 'Register User' entries (probably as the last line). Branching
from one script file to another is possible up to five levels deep and the
script will be returned to when the file branched to is done.
1) Comment Logging
Line used in .DAT file:
>Comment Text
The Text following the '>' will be written to the Answer file but not
displayed to the User.
2) Comment Logging & Display
Line used in .DAT file:
&Comment Text
The Text following the '&' will be written to the Answer file and
displayed to the User.
3) Comment Display
Line used in .DAT file:
#Comment Text
The Text following the '#' will be displayed to the User but not
written to the Answer file.
4) Caller File Logging
Line used in .DAT file:
@Log Text
The Text following the '@' will be written to the Caller Log file
but not written to the Answer file or displayed to the User.
5) File Display
Line used in .DAT file:
%Drive:\Path\FileName.ext
The file is displayed via DISPFILE so if you do not include an extension
PCBoard will display a Security Level/Graphics/Language appropriately.
6) Register User
Line used in .DAT file: (contains 11 fields)
R; ;50;40;365; ; ; ; ;Conference List;Expired Conference List
| | | | | | | | | ^--- as described below
| | | | | | | | ^--- as described below
| | | | | | | ^--- Adjustment to Time for Today
| | | | | | ^--- Adjustment to Daily Download Bytes ('X' to Zero)
| | | | | ^--- Adjustment to Total Bytes Downloaded ('X' to Zero)
| | | | ^--- Adjustment to Total Files Downloaded ('X' to Zero)
| | | ^--- Days till expired to assign
| | ^--- Expired Level to assign
| ^--- Security Level to assign
^--- Register if:
Blank: Always
1: Last answer was TRUE (YES, Male, or within range)
2: Last answer was FALSE (NO, Female or NOT within range)
3: No failed answers (User refused to answer a question)
4: Last Answer was TRUE & No Failed Answers
5: Last Answer was FALSE & No Failed Answers
The Conference List entries are the conferences to register the
User in and may include ranges. (ie. 1-10,15,17,20-39)
7) Indirect Register User
Line used in .DAT file: (contains 3 (or 12) fields)
I; ;filename.ext;(default information, 9 fields)
| ^--- File to read for the above registration information
^--- Register if:
128,Blank: Always
129,1: Last answer was TRUE (YES, Male, or within range)
130,2: Last answer was FALSE (NO, Female or NOT within range)
131,3: No failed answers (User refused to answer a question)
In Indirect registration, the filename specified is read to obtain the
registration information. The information takes the same format as in
Register User starting with the 'Security Level to assign' field. You
may also include default information after the filename to be used in
the event that the line read is blank.
When using 128-131 then PPE-Script will read the line number from
the file based on the last numeric answer. This is useful for menu
selections or errorlevels returned by external programs.
8) Message
Line used in .DAT file: (contains 9 fields)
M;0;SYSOP; ;NEW USER;R;0;0;0;FileName
| | | | | | | | ^--- Filename to use for the message text
| | | | | | | ^--- TRUE if message should be echoed
| | | | | | ^--- TRUE if return receipt desired
| | | | | ^--- Pack out date (0 for no pack out date)
| | | | ^--- Security (N or R; N is the default)
| | | ^--- Subject
| | ^--- From user (empty string defaults to current caller)
| ^--- To user (empty string defaults to current caller)
^--- Conference Number
Allows sending message to User or to Sysop (or anyone else). If the
filename is blank and you specified a message file in the .CNF file,
you can send the Users answers to the Sysop.
9) Join Conference
Line used in .DAT file:
J;12
^--- The conference to place the User in.
This will place the User in a specific conference (via LASTIN).
10) Branch to New Script (will return to this Script)
Line used in .DAT file: (contains 5 fields)
B;4;5;9;NEXT.DAT;DENIED.DAT
| | | | ^--- Script to run if Test is FALSE
| | | | (NO, Female or NOT within range)
| | | ^--- Script to run if Test is TRUE
| | | (YES, Male, or within range)
| | ^--- Maximum (if type 2, 4, 5 or 6 else ignored)
| ^--- Minimum (if type 2, 4, 5 or 6 else ignored)
^--- Type of Test:
Blank: Always true
1: Last Question
2: Age Range (use Minimum/Maximum)
3: Sex
4: Security Level (use Minimum/Maximum)
5: Times On the System (use Minimum/Maximum)
6: Last Question from Numeric Question (use Minimum/Maximum)
11) CALL another .PPE
Line used in .DAT file: (contains 5 fields)
C;4;5;9;NEXT.PPE;Command Line
| | | | ^--- Command line for program
| | | ^--- PPE to call if Test is TRUE
| | | (YES, Male, or within range)
| | ^--- Maximum (if type 2, 4, 5 or 6 else ignored)
| ^--- Minimum (if type 2, 4, 5 or 6 else ignored)
^--- Type of Test:
Blank: Always true
1, 129: Last Question
2, 130: Age Range (use Minimum/Maximum)
3, 131: Sex
4, 132: Security Level (use Minimum/Maximum)
5, 133: Times On the System (use Minimum/Maximum)
6, 134: Last Question from Numeric Question (use Minimum/Maximum)
Note: Two values are shown for each of the selections above. The first
set (1 - 6), indicates the Call is made if the test is True.
the second (129 - 134) indicates the Call is made if the test
is False (or in the case of Sex if the User is Female). ie:
C;132;5;9;NEXT.PPE;Command Line
| ^--- Command line for program
^--- PPE to call if Test is FALSE
(NO, Female, or NOT within range)
The PPE will be called if the Users security level is less
than 5 or greater than 9, just the opposite of the first
example given.
12) SHELL to external program
Line used in .DAT file: (contains 5 fields)
S;4;5;9;NEXT.EXE;Command Line
| | | | ^--- Command line for program
| | | ^--- Program to execute if Test is TRUE
| | | (YES, Male, or within range)
| | ^--- Maximum (if type 2, 4, 5 or 6 else ignored)
| ^--- Minimum (if type 2, 4, 5 or 6 else ignored)
^--- Type of Test:
Blank: Always true
1, 129: Last Question
2, 130: Age Range (use Minimum/Maximum)
3, 131: Sex
4, 132: Security Level (use Minimum/Maximum)
5, 133: Times On the System (use Minimum/Maximum)
6, 134: Last Question from Numeric Question (use Minimum/Maximum)
Note: Two values are shown for each of the selections above. The first
set (1 - 6), indicates the Shell is made if the test is True.
the second (129 - 134) indicates the Shell is made if the test
is False (or in the case of Sex if the User is Female).
The full Drive:\Path of the .EXE will be required if it is not in
the current directory. Selling is not done via COMMAND.COM in order
to return the error code of the program executed.
The error code returned by the program will be stuffed into the
Last Question Numeric Answer variable to be acted upon by further
Branch, Call & Shell commands.
WRUSYS is executed before SHELLing and RDUSYS is executed after
return to PPE-Script allowing the executed program to modify
USERS.SYS or PCBOARD.SYS and have the changes accepted.
13) Write to Users File
Line used in .DAT file: (contains 5 fields)
W;2;01;20;NEXT.DAT;DENIED.DAT
| | | | ^--- Script to run if Test is FALSE
| | | | (NO, Female or NOT within range)
| | | ^--- Script to run if Test is TRUE
| | | (YES, Male, or within range)
| | ^--- Number of characters to write
| ^--- Position to start writing
^--- Write to:
Blank: Ignored
1: User Comment Field
2: Sysop Comment Field
3: Verification Field
4: Note(1) Field
5: Note(2) Field
6: Note(3) Field
7: Note(4) Field
8: Note(5) Field
9: Addr(0) Field
10: Addr(1) Field
11: Addr(2) Field
12: Addr(3) Field
13: Addr(4) Field
14: Addr(5) Field
This is used to write the Last Answer into the Users record at the
selected field. Data already in the field will remain and only the
portion specified will be overwritten. This allows combining several
answers into a single field.
NOTE: If you wish to write the result of a question that will branch
to another script or uses [SKIP], [STOP], etc. then you should
not use the fields in the question to perform the branching but
instead use the fields provided in the 'W' command itself.
Example:
?Are you the SYSOP of a BBS? (y/N)
Y;1;;;N;;;[SKIP]
W;2;3;1;;
In this case, if the User answers No, then nothing will be written
to the Users file because the 'W' command will be skipped. Only if
the User answers Yes will anything be written to the Users file.
?Are you the SYSOP of a BBS? (y/N)
Y;1;;;N;;;
W;2;3;1;;[SKIP]
By moving the script data to the 'W' command line, the Users answer
will be written to the Users file no matter what they answer and
the script will then branch according to the last question (the 'W'
command does not change the result of the last answer in any way.)
14) Set Default Answer
Line used in .DAT file: (contains 3 fields)
D;2;01;20
| | ^--- Number of characters to read
| ^--- Position to start reading
^--- Read From:
Blank: Ignored
1: User Comment Field
2: Sysop Comment Field
3: Verification Field
4: Note(1) Field
5: Note(2) Field
6: Note(3) Field
7: Note(4) Field
8: Note(5) Field
9: Addr(0) Field
10: Addr(1) Field
11: Addr(2) Field
12: Addr(3) Field
13: Addr(4) Field
14: Addr(5) Field
This is used to read a Default Answer from the Users record at the
selected field.
D;2;3;1
?Are you the SYSOP of a BBS? (y/n)
Y;1;;;;;;
W;2;3;1;;[SKIP]
This will read the data from the Users file to be used as the default
to the question. This allows using PPE-Script to maintain data in the
Users file allowing the User to change previously set data.
NOTE: Default Answers specified in the .DAT will be ignored when using
this feature (only on the question involved).
15) Test User Field
Line used in .DAT file: (contains 4 fields)
T;1;SPECIAL.LST;NEXT.DAT;DENIED.DAT
| | | ^--- Script to run if Match not found
| | ^--- Script to run if Match is found
| ^--- The list of words to check field for
^--- Field to Test:
Blank: Ignored
1: User Comment Field
2: Sysop Comment Field
3: Verification Field
4: Note(1) Field
5: Note(2) Field
6: Note(3) Field
7: Note(4) Field
8: Note(5) Field
9: Addr(0) Field
10: Addr(1) Field
11: Addr(2) Field
12: Addr(3) Field
13: Addr(4) Field
14: Addr(5) Field
15: User Name Field
16: User Alias Field
17: User Password Field
18: User City/State Field
19: User Bus/Data Phone
20: User Home/Voice Phone
16) Stop Skipping Questions
Line used in .DAT file:
$
The single character '$' is all that is needed. If a portion of the
.DAT file is being skipped, this will stop the skipping and the rest
of the .DAT file will continue processing again.
17) Label
Line used in .DAT file:
:LabelName
This allows skipping a portion of the .DAT file, and stop at a
specific label. This will stop the skipping and the rest of the .DAT
file will continue processing again if the LabelName specified
matches the text issued in the special ScriptName
Example:
?Are you the SYSOP of a BBS? (y/N)
Y;1;;;N;;;[SKIP]
?BBS Software - Brand and version?
T;4;60;;;PCB.LST;;[NOT_PCB]
#So, you're running PCBoard you say.
:NOT_PCB
#Thanks for being a Sysop
$
#That's all!
Answering No will skip to the '$' ignoring the label. Answering Yes
will result in asking the second question and the skipping the comment
if the answer does not match the data in the PCB.LST file.
18) Pause log file
Line used in .DAT file:
P;1
^--- 0: Continue
1: Pause
This allows asking questions that do not get written to the log file
(neither do the answers).
19) Caller ID Testing
Line used in .DAT file: (contains 6 fields)
!;0;ListFile;PrivScript;LDScript;YesScript;NoScript
| | | | | ^--- Script to run if not in list
| | | | ^--- Script to run if in list
| | | ^--- Script to run if Outside Area
| | ^--- Script to run if CID Blocked
| ^--- List of phone numbers to check
^---0: Log Caller ID if not in list
1: Log Caller ID if in list
2: Don't Log Caller ID at all
This allows checking the Caller ID information (provided you have a
modem capable of supplying it to PCBoard)
If a Valid Caller ID is found the LastAnswer will be TRUE, if not or
the call is Outside the Area or Blocked then LastAnswer will be FALSE.
The List File could be a list of numbers to be blocked or a list of
numbers to be given special access. This list must contain numbers
formatted as AAA-EEE-NNNN to match the Caller ID information.
This is expected to be followed by a Registration command line but
fell free to use it anyway you see fit.
20) Questions (requires a second line)
The first Line starts with a '?' and any Text following the '?' is
the Question to ask.
The Second Line controls the type of question and contain 6 parts:
Part 1: This is the type of input to accept. The testing is done
character by character. Control and drawing characters are
filtered out in any type. The following types are accepted:
Code Input Type Validation Characters Accepted
---- ---------------- ----------- ---------------------------
T Text .LST file Everything " " to "~" and 128 to 255
Tx Controlled Text .LST file x = Control Type(s)
E = Everything ASCII " " to "~"
A = Alpha A-Z & a-z
N = Numeric 0-9
S = Space " "
M = Money 0-9, ".", "$"
. = Punctuation ".", ",", ";", ":"
P = Phone 0-9,-,+,(,),[,],Space
+ = Sign "+", "-"
^ = literal (next character)
P Phone Numbers Min Length 0-9,-,+,(,),[,]
S Sex Min Length Single Character (M,F,Space)
D Date VALDATE 0-9,-,/
B BirthDate VALDATE 0-9,-,/
C Credit Card VALCC 0-9,SPACE,-
N Numeric Min/Max 0-9
Y Yes/No None Single Character (Y or N)
A Age None 0-9
V Verification Min Length ASCII
Part 2: This is the MINIMUM length of an answer to accept.
On BirthDate Questions: Minimum Age
On Numeric Questions: Minimum Answer
Part 3: This is the MAXIMUM length of the answer. The overall maximum
length is set at 60 characters, to conform to PCBoard Script
questionnaires. If you select a length greater than 60, it
will be set to 60.
On Yes/No, Sex, Date, Phone Number or Age Questions: Ignored
On BirthDate Questions: Maximum Age
On Numeric Questions: Maximum Answer
Part 4: On Text or Numeric Questions: InputFlags
0001h = echo dots instead of user input
0002h = displays parenthesis to show input field width if
ANSI enabled. When not selected or in NON-ANSI
mode, parenthesis are placed around the '==--'
display field on the line above.
0004h = displays parenthesis above current line if FIELDLEN
used and ANSI not enabled, this is overridden when
Use '==--' display is enabled to eliminate the
duplicate effort.
0008h = force user input to upper case
0010h = allow semi-colons and spaces in addition to valid
character set passed
0020h = erase the current line when user presses enter
0040h = send a line feed after user presses enter
0080h = send an extra line feed before prompt display
0100h = send an extra line feed after user presses enter
0200h = if user hits end of line, save the text at the end of
the line for future use
0400h = don't clear field at first keypress regardless of ANSI
0800h = ?
1000h = allow high ascii characters, regardless of current valid
character set, if disable high ascii filter set to yes
2000h = Automatically press enter after 10 seconds of no user input
4000h = Only allow international yes/no responses
Default = 0046h
On Date or BirthDate: If non-blank then No Answer is required
On Yes/No, Sex, Credit Card, Phone Number or Age Questions: Ignored
Part 5: A default answer (if any)
Part 6: On Text Questions: The .LST file to examine
On Birthdate Questions: The sex required to run the script
On Sex Questions: The answers allowed for Question
All other Questions: Ignored
Part 7: On Text Questions: The Script to run if text in .LST file in answer
On Yes/No Questions: The Script to run if the answer is YES
On Birthdate Questions: The Script to run if within Age Limits
On Sex Questions: The Script to run if Male
On Numeric Questions: The Script to run if within Numeric Range
On Date, Phone Number or Credit Card Questions: Ignored
On Age Questions: The Script to run if Age matches BirthDate
On Verification Questions: Script to run if verification matches
Part 8: On Text Questions: The Script to run if text in .LST file NOT in answer
On Yes/No Questions: The Script to run if the answer is NO
On Birthdate Questions: The Script to run if NOT within Age Limits
On Sex Questions: The Script to run if Female
On Numeric Questions: The Script to run if NOT within Numeric Range
On Date, Phone Number or Credit Card Questions: Ignored
On Age Questions: The Script to run if Age does not match BirthDate
On Verification Questions: Script to run if verification fails
Example Lines used in .DAT file:
20a) Text
?What is your Computer system?
T;3;40
| | ^--- Maximum Length (60 if blank)
| ^--- Minimum Length (0 if blank)
^--- Type of input testing (None - any ASCII Character)
20b) Text (restricted characters)
?What is your occupation?
TAS;5;40; ; ;JOBS.LST;HIRING.DAT;
| | | | | | | ^--- The Script to run if a word
| | | | | | | match is NOT found
| | | | | | ^--- The Script to run if a word match is found
| | | | | ^--- The list of words to check answer for
| | | | ^--- No Default Answer
| | | ^--- Default(46h) input flags
| | ^--- Maximum Length (60 if blank)
| ^--- Minimum Length (0 if blank)
^--- Type of input testing (Alpha A-Z, a-z and SPACE only)
?What is the Disk Storage capacity on your System
TASN;2;20;004Eh;20 Megs
| | | | ^--- Default Answer
| | | ^--- Default(46h) input flags + Force Uppercase
| | ^--- Maximum Length (60 if blank)
| ^--- Minimum Length (0 if blank)
^--- Type of input testing (Alpha A-Z, a-z, 0-9 and SPACE only)
20c) Credit Card
?Enter Credit Card Number
C;1; ; ;
| | | | ^--- Default Answer
| | | ^--- N/A
| | ^--- N/A
| ^--- Minimum Length (0 if blank)
^--- Type of input testing (Alpha A-Z, a-z and SPACE only)
20d) Date
?Enter the date you started computing (mm/dd/yy)
D; ; ; ;
| | | | ^--- Default Answer
| | | ^--- If Non-Blank then No Answer required
| | ^--- N/A
| ^--- N/A
^--- Type of input testing (Alpha A-Z, a-z and SPACE only)
20e) BirthDate
?What is your birth date (mm/dd/yy)
B;21; ; ; ; ;ADULT.DAT;KID.DAT
| | | | | | | ^--- Script to run if NOT within Age range
| | | | | | ^--- Script to run if within Age range
| | | | | ^--- Sex required to run either Script
| | | | ^--- Default Answer
| | | ^--- If Non-Blank then No Answer required
| | ^--- Maximum Age Limit (255 if blank)
| ^--- Minimum Age Limit (0 if blank)
^--- Type of input testing
20f) Numeric
?Enter a number from 1 to 9
N;1;9; ; ; ;SMART.DAT;STUPID.DAT
| | | | | | | ^--- Script to run if NOT within range
| | | | | | ^--- Script to run if within range
| | | | | ^--- If Blank Answer must be in range, else anything allowed
| | | | ^--- No Default Answer
| | | ^--- N/A
| | ^--- Maximum
| ^--- Minimum
^--- Type of input testing
20g) Phone Numbers
?What is the number of your BBS
P;1; ; ;
| | | | ^--- Default Answer
| | | ^--- Default(46h) input flags
| | ^--- N/A
| ^--- Minimum Length (0 if blank)
^--- Type of input testing
20h) Yes/No
?Are you a Sysop
Y;1; ; ; ; ;SYSOP.DAT;USER.DAT
| | | | | | | ^--- Script to run if No
| | | | | | ^--- Script to run if Yes
| | | | | ^--- Responses available (Blank = YESCHAR()+NOCHAR())
| | | | ^--- Default Answer
| | | ^--- N/A
| | ^--- N/A
| ^--- Minimum Length (0 if blank)
^--- Type of input testing
20i) Sex
?What is your gender (m/f)
S;1; ; ; ; ;MALE.DAT;FEMALE.DAT
| | | | | | | ^--- Script to run if Female
| | | | | | ^--- Script to run if Male
| | | | | ^--- Responses available (Blank = Default from Config)
| | | | ^--- Default Answer
| | | ^--- Default(46h) input flags
| | ^--- N/A
| ^--- Minimum Length (0 if blank)
^--- Type of input testing
20j) Age
?What is your age
A;1; ; ; ; ;MATCHED.DAT;LIED.DAT
| | | | | | | ^--- Script to run if BirthDate age is different
| | | | | | ^--- Script to run BirthDate age matches
| | | | | ^--- If Non-Blank then No Answer required
| | | | ^--- Default Answer
| | | ^--- N/A
| | ^--- N/A
| ^--- Minimum Length (0 if blank)
^--- Type of input testing
20k) Verification
?
V;1; ; ; ; ;MATCHED.DAT;LIED.DAT
| | | | | | | ^--- Script to run if verification fails
| | | | | | ^--- Script to run if verification matches
| | | | | ^--- If Non-Blank then No Answer required
| | | | ^--- Default Answer
| | | ^--- Default(46h) input flags
| | ^--- Maximum Length (25 if blank)
| ^--- Minimum Length (0 if blank)
^--- Type of input testing
If Question is blank then PCBTEXT entry #707 is used.
Special Script File Name Actions:
"[STOP]" : Stop the current Script and return to previous level
"[END]" : Stop the current Script and all previous levels
"[SKIP]" : Skip any remaining Questions/Comments/DisplayFiles
Write "N/A" as answers for any questions, write
Questions if enabled (can be stopped before the end of
the file by a "$" Stop Skipping to allow skipping a section)
All 'Branch to new script' and 'Register User' lines will
also be skipped. Only the current level will be skipped. If
the end of the script is reached and processing returns
to a previous level, Skipping will stop. The example file
NEWASK.DAT that I use on my BBS shows 3 examples of using
[SKIP] to skip sections of the questionnaire.
"[SKIPALL]" : Same as SKIP but does not stop skipping when returning to a
previous level, but can still be stopped by a '$' line.
"[xxx]" : Same as SKIP but will Stop Skipping only at the Label
that matches the text between the '[' & ']'.
(Note: xxx represents whatever text you wish to use,
noting also that STOP, END, SKIP & SKIPALL are reserved.)
Note: If Jump Backwards is to YES in .CNF file, then the
search for the label will start at the beginning of the file.
When using a list file of matching words, the data listed on a line is
checked for in the answer. If the data appears anywhere in the answer,
then it is considered a match. If a line begins with an "*" then the
remaining data on the line must exactly match the answer given to be
considered a match. In all cases the match is case-insensitive.
I've only had one other suggestion as to features (which was just added
into version 1.20), so either no one is using the program or it fits the
needs without any changes. If there is something that should be added,
please let me know. I am planning on writing an editor to create/modify
the .DAT files, as I know they can get complicated.
This program is released as TRUSTWARE. If you use it, I trust you to send
a donation of $5.00 to me. You can call up and get the registration number
to remove the delay at anytime whether you have sent a donation or not.
To register this program call:
SHARP Technical Support Line BBS (404) 962-1788 and use the REG command to
obtain your registration number. You need to sign on under your real name
which MUST also be used on line 1 of the configuration file. You will also
be asked to give the name of your board which MUST be entered exactly as it
will appear on line 2 your configuration file(s).
Send your $5.00 donation to:
Gary Meeker
725-C Old Norcross Road
Lawrenceville, GA 30245